#pragma once

#include "Object.h"
#include "SQLObject.h"
#include "SQLObjectImpl.h"
#include "SQLExpr.h"

class SQLExprImpl 
: virtual public SQLObjectImpl
, virtual public SQLExpr
{

public:
  SQLExprImpl(){

  };
  ~SQLExprImpl(){

  };  
  virtual SQLObject_ptr clone() override
  {
    SQLObject_ptr clone_tmp = std::shared_ptr<SQLExprImpl>(new SQLExprImpl());
    std::shared_ptr<SQLExprImpl> x = std::dynamic_pointer_cast<SQLExprImpl>(clone_tmp);
    return x;
  }
};
